package com.zwps.biz.dal.db.dao;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.zwps.biz.api.model.dto.strsvrr.StRsvrRDTO;
import com.zwps.biz.api.model.vo.strsvrr.*;
import com.zwps.biz.dal.db.object.StRsvrRDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Mapper
@DS("one")
public interface StRsvrRDAO extends BaseMapper<StRsvrRDO> {
    @DS("one")
    StRsvrRDO queryById(StRsvrRDTO ids);
    @DS("one")
    GetLastStRsvrRVO getLastStRsvrR(String stcd);
    @DS("one")
    List<StRsvrRVO> queryList(@Param(Constants.WRAPPER) QueryWrapper<StRsvrRDO> tm,@Param("mode") String mode);
    @DS("one")
    StRestrictVO getRestrict(Date tm);

    List<GetLastValueVO> getLatestValue(@Param("list") List<String> list);

    List<GetLastValueVO> getExRsvrLatestValue(@Param("list") List<String> list);

    List<GetLastValueVO> getExPptnLatestValue(@Param("list") List<String> list);

    List<GetLastValueVO> getWarterLatestValue(@Param("list") List<String> list);

    List<StRsvrInitVO> getInitStrSvrR(String stcd);

    BigDecimal getLastW();
}